package org.sadhar.sipp.posanggaranpendapatanunit;

import java.util.List;
import java.util.Map;

import org.sadhar.errhandler.ClassAntiNull;
import org.sadhar.sia.common.ClassConnection;
import org.sadhar.sia.common.ClassUtility;

public class PosAnggaranPendapatanUnitDAOImpl implements
	PosAnggaranPendapatanUnitDAO {

    @Override
    public int getIdFromTahunKodeUnitIdPosPendapatan(String tahunAnggaran,
	    String kodeUnitKerja, int idPosPendapatan) {
	String sql = "SELECT p.idPosAnggaranPendapatanUnit FROM ppmk.posAnggaranPendapatanUnit p where p.tahunAnggaran=? and p.kodeUnitKerja=? and p.idPosPendapatan=?";
	List<Map> result = ClassConnection.getJdbc().queryForList(
		sql,
		new Object[] { ClassUtility.quote(tahunAnggaran),
			ClassUtility.quote(kodeUnitKerja),
			Integer.valueOf(idPosPendapatan) });
	int id = -1;
	for (Map m : result) {
	    id = ClassAntiNull
		    .AntiNullInt(m.get("idPosAnggaranPendapatanUnit"));
	}
	return id;
    }

    @Override
    public List<Map> listByIdPosPendapatanAndTahunAnggaran(int idPosPendapatan,
	    String tahunAnggaran) {
	String sql = "select ap.idPosAnggaranPendapatanUnit,un.Kd_unit_kerja, un.nama_unit_kerja from ppmk.posAnggaranPendapatanUnit as ap "
		+ " inner join kamus.unkerja as un on (ap.kodeUnitKerja=un.Kd_unit_kerja) where ap.idPosPendapatan=? and ap.tahunAnggaran = ?";
	return ClassConnection.getJdbc().queryForList(sql,new Object[]{Integer.valueOf(idPosPendapatan),ClassUtility.quote(tahunAnggaran)});
    }

    

}
